{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Matplotlib\n",
    "<table align=\"left\">\n",
    "  <td>\n",
    "    <a target=\"_blank\" href=\"http://nbviewer.ipython.org/github/ShowMeAI-Hub/awesome-AI-cheatsheets/blob/main/Matplotlib/Matplotlib-cheatsheet-code.ipynb\"><img src=\"https://raw.githubusercontent.com/jupyter/design/master/logos/Badges/nbviewer_badge.svg\" />在nbviewer上查看notebook</a>\n",
    "  </td>\n",
    "  <td>\n",
    "    <a target=\"_blank\" href=\"https://colab.research.google.com/github/ShowMeAI-Hub/awesome-AI-cheatsheets/blob/main/Matplotlib/Matplotlib-cheatsheet-code.ipynb\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" />在Google Colab运行</a>\n",
    "  </td>\n",
    "  <td>\n",
    "    <a target=\"_blank\" href=\"https://github.com/ShowMeAI-Hub/awesome-AI-cheatsheets/tree/main/Matplotlib/Matplotlib-cheatsheet-code.ipynb\"><img src=\"https://badgen.net/badge/open/github/color=cyan?icon=github\" />在Github上查看源代码</a>\n",
    "  </td>\n",
    "  <td>\n",
    "    <a target=\"_blank\" href=\"https://github.com/ShowMeAI-Hub/awesome-AI-cheatsheets/Matplotlib/Matplotlib.pdf\"><img src=\"https://badgen.net/badge/download/pdf/color=white?icon=github\"/>下载速查表</a>\n",
    "  </td>\n",
    "</table>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 说明\n",
    "**notebook by [韩信子](https://github.com/HanXinzi-AI)@[ShowMeAI](https://github.com/ShowMeAI-Hub)**\n",
    "\n",
    "更多AI速查表资料请查看[速查表大全](https://github.com/ShowMeAI-Hub/awesome-AI-cheatsheets)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Matplotlib是Python的二维绘图库，用于生成符合出版质量或跨平台交互环境的各类图形。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 准备数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 一维数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = np.linspace(0, 10, 100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "y = np.cos(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "z = np.sin(x)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 二维数据或图片"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = 2 * np.random.random((10, 10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "data2 = 3 * np.random.random((10, 10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "Y, X = np.mgrid[-3:3:100j, -3:3:100j]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "U = -1 - X**2 + Y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "V = 1 + X - Y**2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 绘制图形"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 导入库"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 画布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 288x576 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig2 = plt.figure(figsize=plt.figaspect(2.0))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 坐标轴"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**图形是以坐标轴为核心绘制的，大多数情况下，子图就可以满足需求。子图是栅格系统的坐标轴。**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "fig.add_axes()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "ax1 = fig.add_subplot(221)   #row-col-num"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "ax3 = fig.add_subplot(212)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig3, axes = plt.subplots(nrows=2, ncols=2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig4, axes2 = plt.subplots(ncols=3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 绘图例程"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 一维数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "lines = ax.plot(x, y)   #用线或标记连接点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x14753c550>"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.scatter(x, y)   #缩放或着色未连接的点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 3 artists>"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "axes[0, 0].bar([1, 2, 3], [3, 4, 5])   #绘制柱状图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 3 artists>"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "axes[1, 0].barh([0.5, 1, 2.5], [0, 1, 2])   #绘制水平柱状图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.lines.Line2D at 0x147533690>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "axes[1, 1].axhline(0.45)   #绘制与轴平行的横线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.lines.Line2D at 0x14767ba90>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "axes[0, 1].axvline(0.65)   #绘制与轴垂直的竖线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.patches.Polygon at 0x147681750>]"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.fill(x, y, color='blue')   #绘制填充多边形"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PolyCollection at 0x1474df550>"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.fill_between(x, y, color='yellow')   #填充y值和0之间"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 向量场"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.patches.FancyArrow at 0x147521090>"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "axes[0, 1].arrow(0, 0, 0.5, 0.5)   #为坐标轴添加箭头"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.quiver.Quiver at 0x1474ecdd0>"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "axes[1, 1].quiver(y, z)   #二维箭头"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.streamplot.StreamplotSet at 0x1477b9c10>"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "axes[0, 1].streamplot(X, Y, U, V)   #二维箭头"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([26.,  8.,  7.,  6.,  6.,  6.,  6.,  7.,  8., 20.]),\n",
       " array([-9.99947166e-01, -7.99952450e-01, -5.99957733e-01, -3.99963016e-01,\n",
       "        -1.99968300e-01,  2.64169119e-05,  2.00021134e-01,  4.00015850e-01,\n",
       "         6.00010567e-01,  8.00005283e-01,  1.00000000e+00]),\n",
       " <a list of 10 Patch objects>)"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax1.hist(y)   #直方图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'whiskers': [<matplotlib.lines.Line2D at 0x1477d71d0>,\n",
       "  <matplotlib.lines.Line2D at 0x1477d7710>],\n",
       " 'caps': [<matplotlib.lines.Line2D at 0x1477d7c50>,\n",
       "  <matplotlib.lines.Line2D at 0x1477df1d0>],\n",
       " 'boxes': [<matplotlib.lines.Line2D at 0x1477d3c90>],\n",
       " 'medians': [<matplotlib.lines.Line2D at 0x1474ce510>],\n",
       " 'fliers': [<matplotlib.lines.Line2D at 0x1477df910>],\n",
       " 'means': []}"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax3.boxplot(y)   #箱形图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'bodies': [<matplotlib.collections.PolyCollection at 0x1477d3890>],\n",
       " 'cmaxes': <matplotlib.collections.LineCollection at 0x1477d3ad0>,\n",
       " 'cmins': <matplotlib.collections.LineCollection at 0x1477dfed0>,\n",
       " 'cbars': <matplotlib.collections.LineCollection at 0x1471da090>}"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax3.violinplot(z)   #小提琴图"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 二维数据或图片"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PolyCollection at 0x14784f390>"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "axes2[0].pcolor(data2)   #二维数组伪彩色图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.QuadMesh at 0x1478630d0>"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "axes2[0].pcolormesh(data)   #二维数组等高线伪彩色图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "CS = plt.contour(Y, X, U)   #等高线图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "axes2[2]= ax.clabel(CS)   #等高线图标签"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 图形解析与工作流"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 图形解析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 工作流"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Matplotlib 绘图的基本步骤：\n",
    "- Step 1 准备数据\n",
    "- Step 2 创建图形\n",
    "- Step 3 绘图\n",
    "- Step 4 自定义设置\n",
    "- Step 5 保存图形\n",
    "- Step 6 显示图形"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = [1, 2, 3, 4]   #Step 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [],
   "source": [
    "y = [10, 20, 25, 30]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()   #Step 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [],
   "source": [
    "ax = fig.add_subplot(111)   #Step 3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x147967310>]"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.plot(x, y, color='lightblue', linewidth=3)   #Step 3, 4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x147855e10>"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.scatter([2, 4, 6], [5, 15, 25], color='darkgreen', marker='^')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1.0, 6.5)"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.set_xlim(1, 6.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.savefig('foo.png')   #Step 5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.show()   #Step 6"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 自定义图形"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 颜色、色条与色彩表"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1479aeb10>,\n",
       " <matplotlib.lines.Line2D at 0x1479aed10>,\n",
       " <matplotlib.lines.Line2D at 0x1479aeed0>]"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, x, x, [i**2 for i in x], x, [i**3 for i in x])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1479fe210>]"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.plot(x, y, alpha = 0.4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1479ea390>]"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.plot(x, y, c='k')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 标记"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1479e1d50>"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.scatter(x, y, marker=\".\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x147a4c450>]"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.plot(x, y, marker=\"o\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 线型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x147a90550>]"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, y, linewidth=4.0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x147affb50>]"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, y, ls='solid')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x147b78190>]"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, y, ls='--')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x14784fd50>,\n",
       " <matplotlib.lines.Line2D at 0x147bf3090>]"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, y, '--', [i**2 for i in x], [i**2 for i in y], '-.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[None, None]"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "plt.setp(lines, color='r', linewidth=4.0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 文本与标注"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(1, -2.1, 'Example Graph')"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.text(1, -2.1, 'Example Graph', style='italic')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(10.5, 0, 'Sine')"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.annotate(\"Sine\",\n",
    "            xy=(8, 0),\n",
    "            xycoords='data',\n",
    "            xytext=(10.5, 0),\n",
    "            textcoords='data',\n",
    "            arrowprops=dict(arrowstyle=\"->\",\n",
    "            connectionstyle=\"arc3\"), )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数学符号"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '$sigma_i=15$')"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.title(r'$sigma_i=15$', fontsize=20)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 尺寸限制、图例和布局"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**尺寸限制与自动调整**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [],
   "source": [
    "ax.margins(x=0.0, y=0.1)   #添加内边距"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.9999999999999999, 4.0, 7.999999999999998, 32.0)"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.axis('equal')    #将图形纵横比设置为1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(-1.5, 1.5), (0.0, 10.5)]"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.set(xlim=[0, 10.5], ylim=[-1.5, 1.5])    #设置x轴与y轴的限制"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.0, 10.5)"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.set_xlim(0, 10.5)    #设置x轴的限制"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**图例**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(3.200000000000003, 0.5, 'Y-Axis'),\n",
       " Text(0.5, 3.1999999999999993, 'X-Axis'),\n",
       " Text(0.5, 1.0, 'An Example Axes')]"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.set(title='An Example Axes', ylabel='Y-Axis',  xlabel='X-Axis')    #设置标题与x、y轴的标签"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "No handles with labels found to put in legend.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x147bbf490>"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.legend(loc='best')    #自动选择最佳的图例位置"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**标记**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[<matplotlib.axis.XTick at 0x1479feb50>,\n",
       "  <matplotlib.axis.XTick at 0x14795ca90>,\n",
       "  <matplotlib.axis.XTick at 0x147a15190>,\n",
       "  <matplotlib.axis.XTick at 0x147a29990>],\n",
       " [Text(0.0, 0, '3'),\n",
       "  Text(0.2, 0, '100'),\n",
       "  Text(0.4, 0, '-12'),\n",
       "  Text(0.6000000000000001, 0, 'foo')]]"
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.xaxis.set(ticks=range(1, 5), ticklabels=[3, 100, -12, \"foo\"])    #手动设置X轴刻度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [],
   "source": [
    "ax.tick_params(axis='y', direction='inout', length=10)    #设置Y轴长度与方向"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**子图间距**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [],
   "source": [
    "fig3.subplots_adjust(wspace=0.5,\n",
    "                    hspace=0.3,\n",
    "                    left=0.125,\n",
    "                    right=0.9,\n",
    "                    top=0.9,\n",
    "                    bottom=0.1)    #调整子图间距"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [],
   "source": [
    "fig.tight_layout()   #设置画布的子图布局"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**坐标轴边线**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [],
   "source": [
    "ax1.spines['top'].set_visible(False)   #隐藏顶部坐标轴线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [],
   "source": [
    "ax1.spines['bottom'].set_position(('outward', 10))   #设置底部边线的位置为outward"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 保存"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**savefig函数**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.savefig('foo.png')   #保存画布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.savefig('foo.png', transparent=True)   #保存透明画布"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  显示图形"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**show函数**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 关闭与清除"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**绘图清除与关闭**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.cla()   #清除坐标轴"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.clf()   #清除画布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.close()   #关闭窗口"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
